home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / PowerPC / chunkyppc / chunkyppc_protos.h.vbcc < prev    next >
Text File  |  2000-05-16  |  4KB  |  134 lines

  1. #ifndef CHUNKYPPC_PROTOS_H
  2. #define CHUNKYPPC_PROTOS_H
  3.  
  4. #include <exec/types.h>
  5. #include <graphics/gfx.h>
  6. #include <intuition/intuition.h>
  7. #include <libraries/asl.h>
  8. #include <cybergraphics/cybergraphics.h>
  9.  
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13.  
  14. struct Soff
  15. {
  16.  int x;
  17.  int y;
  18. };
  19.  
  20. struct Buffers
  21. {
  22.  UBYTE *address;
  23.  UBYTE *mask;
  24. };
  25.  
  26. #define BIT16 1
  27. #define BIT16_SWAP 2
  28. #define BIT16_ROT 4
  29. #define BIT16_SWAP_ROT 8
  30. #define BIT24 16
  31. #define BIT24_ROT 32
  32. #define BIT32 64
  33. #define BIT32_SWAP 128
  34. #define BIT32_ROT 256
  35. #define BIT32_SWAP_ROT 512
  36. #define BIT32_ROT_REVERSE 1024
  37. #define BIT32_SWAP_ROT_REVERSE 2048
  38. #define BIT8 4096
  39.  
  40. struct Mode_Screen
  41. {
  42.     struct Screen *video_screen;
  43.     struct Window *video_window;
  44.     int bpr;
  45.     int wb_int;
  46.     int pip_int;
  47.     int dbuf_int;
  48.     int oldstyle_int;
  49.     char pubscreenname[512];
  50.     int mode;
  51.     int SCREENWIDTH;
  52.     int SCREENHEIGHT;
  53.     int MAXWIDTH;
  54.     int MAXHEIGHT;
  55.     int MINDEPTH;
  56.     int MAXDEPTH;
  57.     int format;
  58.     int video_depth;
  59.     UWORD *emptypointer;
  60.     struct BitMap *video_tmp_bm;
  61.     int video_is_native_mode;
  62.     int video_is_cyber_mode;
  63.     unsigned char *screen;
  64.     int video_oscan_height;
  65.     int bufnum;
  66.     struct RastPort *video_rastport;
  67.     struct BitMap *bitmapa;
  68.     struct BitMap *bitmapb;
  69.     struct BitMap *bitmapc;
  70.     struct BitMap *thebitmap;
  71.     struct RastPort *video_temprp;
  72.     struct ScreenModeRequester *video_smr;
  73.     int ham_int;
  74.     UBYTE *wbcolors;
  75.     UBYTE *transtable;
  76.     unsigned long *WBColorTable;
  77.     unsigned long *ColorTable;
  78.     int pal_changed;
  79.     int pen_obtained;
  80.     unsigned char *screenb;
  81.     unsigned char *screenc;
  82.     int numbuffers;
  83.     int rtgm_int;
  84.     struct ScreenBuffer *Buf1;
  85.     struct ScreenBuffer *Buf2;
  86.     struct ScreenBuffer *Buf3;
  87.     void * (*algo)(struct Mode_Screen *ms,unsigned char *dest,unsigned char *src, int srcformat,void *(*hook68k)(unsigned char *data),unsigned char *data);
  88.     void (*Internal1)(void);
  89.     void (*Internal2)(void);
  90.     int onlyptr;
  91.     int cgxlike;
  92. };
  93.  
  94. struct Mode_Screen *OpenGraphics(char *Title, struct Mode_Screen *ms,int override);
  95. void CloseGraphics(struct Mode_Screen *ms, int shutdownlibs);
  96. void LoadColors(struct Mode_Screen *ms, ULONG *Table);
  97. void DoubleBuffer(struct Mode_Screen *ms);
  98. int ChunkyInit68k(struct Mode_Screen *ms, int srcformat);
  99.  
  100. void ChunkyNoffFast(UBYTE *, UBYTE *, int, int, int);
  101. void ChunkyNoffFastest(UBYTE *, UBYTE *, int, int, int);
  102. void ChunkyNoffNormal(UBYTE *, UBYTE *, int, int, int);
  103. void ChunkyFast(UBYTE *, UBYTE *, int, int, int, int, int);
  104. void ChunkyFastest(UBYTE *, UBYTE *, int, int, int, int, int);
  105. void ChunkyNormal(UBYTE *, UBYTE *, int, int, int, int, int);
  106. void ChunkyFastFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int);
  107. void ChunkyFastestFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int);
  108. void ChunkyNormalFull(UBYTE *, UBYTE *, struct Soff *, struct Soff *, int, struct Soff *, int);
  109. void c2p_1(UBYTE *, struct BitMap *, int, int);
  110. void c2p_2(UBYTE *, UBYTE *, UBYTE *, int);
  111. void c2p_3(void *, void *, int , int , struct Soff * , int , int);
  112. void c2p_4(void *, UBYTE *, UBYTE *, struct Soff *, struct Soff *, struct Soff *);
  113. void ChunkyNoffFastHT(UBYTE *,UBYTE *,int,int,int,int);
  114. void ChunkyNoffFastestHT(UBYTE *,UBYTE *,int,int,int,int);
  115. void ChunkyNoffNormalHT(UBYTE *,UBYTE *,int,int,int,int);
  116. void ChunkyFastHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int);
  117. void ChunkyFastestHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int);
  118. void ChunkyNormalHT(UBYTE *,UBYTE *,struct Soff *,int,int,int,int);
  119. void ChunkyFastFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *,struct Soff *,int);
  120. void ChunkyFastestFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *, struct Soff *, int);
  121. void ChunkyNormalFullHT(UBYTE *,UBYTE *,struct Soff *,struct Soff *,struct Soff *,struct Soff *, int);
  122. void ChunkyNoffMask(struct Buffers *,UBYTE *,int,int,int,int);
  123. void ChunkyMask(struct Buffers *,UBYTE *,struct Soff *,int,int,int,int);
  124. void ChunkyMaskFull(struct Buffers *,UBYTE *,struct Soff *, struct Soff *,struct Soff *,struct Soff *, int);
  125. void c2p_HI(UBYTE *, int, UBYTE *, UBYTE *, UBYTE *, UBYTE *, UBYTE *);
  126. void ham_c2p(unsigned char *chunky, unsigned char *planar, int width, int height, int depth, int qual, int ham_width);
  127. int ChunkyInit(struct Mode_Screen *, int);
  128.  
  129. #ifdef __cplusplus
  130. };
  131. #endif
  132.  
  133. #endif
  134.